博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssm---(springMvc+spring+mybatis)
阅读量:4089 次
发布时间:2019-05-25

本文共 12652 字,大约阅读时间需要 42 分钟。

一、搭建Spring开发环境

一、搭建spring开发环境

第一步:下载spring所需要的jar包,如下



第二步:在src下新建【source folder】文件config,然后在其下创建applicationContext.xml文件,如下图所示:



applicationContext.xml文件内容如下:

[html] 
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:p="http://www.springframework.org/schema/p"  
  5.     xmlns:context="http://www.springframework.org/schema/context"  
  6.     xsi:schemaLocation="  
  7.     http://www.springframework.org/schema/beans  
  8.     http://www.springframework.org/schema/beans/spring-beans.xsd  
  9.     http://www.springframework.org/schema/context  
  10.     http://www.springframework.org/schema/context/spring-context.xsd" >  
  11.       
  12.     <!-- 1、自动扫描dao和service包(自动注入) -->  
  13.     <context:component-scan base-package="com.cn.dao,com.cn.service" />  
  14. </beans>  

第三步:在src下新建包com.cn.service,在包下编写一个接口IUserService

[html] 
 
  1. package com.cn.service;  
  2.   
  3. public interface IUserService {  
  4.     /**  
  5.      * 测试方法  
  6.      * */  
  7.     public void test();  
  8. }  

第四步:在src下新建包com.cn.service.impl,在包下编写接口的实现类UserServiceImpl

[html] 
 
  1. package com.cn.service.impl;  
  2.   
  3. import org.springframework.stereotype.Service;  
  4.   
  5. import com.cn.service.IUserService;  
  6. @Service("userService") //将UserServiceImpl标注为一个service  
  7. public class UserServiceImpl implements IUserService{  
  8.   
  9.     @Override  
  10.     public void test() {  
  11.         System.out.println("hello Spring!");  
  12.     }  
  13.   
  14. }  

第五步:在web.xml中配置spring的监听器

[java] 
 
  1. <!-- 1、spring配置文件位置 -->  
  2. <context-param>  
  3.         <param-name>contextConfigLocation</param-name>  
  4.     <param-value>classpath:applicationContext.xml</param-value>  
  5. </context-param>  
  6.   
  7. <!-- 2、spring监听器 -->  
  8. <listener>  
  9.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  10. </listener>  


第六步:测试Spring是否搭建成功

[java] 
 
  1. package com.cn.test;  
  2.   
  3. import org.junit.Test;  
  4. import org.springframework.context.ApplicationContext;  
  5. import org.springframework.context.support.ClassPathXmlApplicationContext;  
  6.   
  7. import com.cn.service.IUserService;  
  8.   
  9. public class SpringTest {  
  10.     @Test  
  11.     public void test(){  
  12.         //通过applicationContext.xml配置文件创建spring的应用程序上下文环境  
  13.         ApplicationContext context=new ClassPathXmlApplicationContext("classpath:applicationContext.xml");  
  14.         //从spring的IOC容器中获取bean  
  15.         IUserService userService=(IUserService) context.getBean("userService");  
  16.         //执行测试方法  
  17.         userService.test();  
  18.     }  
  19. }  
运行结果如下图:



将项目部署在tomcat服务器上,然后启动tomcat服务器,没有出错。然后在浏览器地址栏输入

http://localhost:18080/s2shDemo,能够正常访问,则说明spring的开发环境搭建成功

二、搭建springMvc开发环境,并整合spring

springMvc属于spring部分,所有spring整合springMvc无需借助第三方jar包

第一步:在config下新建springMvc配置文件springMvc.xml,代码如下:

第二步:在src下新建包com.cn.controller,并在该包下创建控制器类TestController,代码如下:

package com.cn.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;@Controller(value="testController")public class TestController {		@RequestMapping(value="test")	public ModelAndView test(){		ModelAndView mv=new ModelAndView();		mv.addObject("message", "springMvc helloWorld!");		mv.setViewName("test/test");		return mv;	}}
第三步:在web.xml中配置springMvc的配置文件

springMvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springMvc.xml
1
springMvc
*.do
第四步:在WEB-INF下新建文件jsp,然后在jsp文件下新建test文件,然后在其下新建test.jsp视图层

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'test.jsp' starting page    	
${message}
第五步:测试

启动tomcat服务器,在浏览器地址栏输入:http://localhost:8080/SSMDemo/test.do

三、搭建mybatis开发环境,并整合spring

1、导入mybatis所需的jar包,mybatis和spring整合的插件包、oracle数据库驱动包、数据库连接池包

2、在config下新建数据库配置文件jdbc.properties

jdbc.driverClassName=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcljdbc.username=scottjdbc.password=tiger

3、在applicationContext.xml中配置数据源、session工厂、事务等
classpath:jdbc.properties
classpath:log4j.properties
classpath:com/cn/mapper/*.xml

4、在config下新建日志配置log4j.properties

log4j.rootLogger=INFO,Console,File  #定义日志输出目的地为控制台  log4j.appender.Console=org.apache.log4j.ConsoleAppender  log4j.appender.Console.Target=System.out  #可以灵活地指定日志输出格式,下面一行是指定具体的格式  log4j.appender.Console.layout = org.apache.log4j.PatternLayout  log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n    #文件大小到达指定尺寸的时候产生一个新的文件  log4j.appender.File = org.apache.log4j.RollingFileAppender  #指定输出目录  log4j.appender.File.File = logs/ssm.log  #定义文件最大大小  log4j.appender.File.MaxFileSize = 10MB  # 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志  log4j.appender.File.Threshold = ALL  log4j.appender.File.layout = org.apache.log4j.PatternLayout  log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
5、新建实体类UserVO

package com.cn.vo;/** * 用户实体 * **/public class UserVO {	private Integer id;  //用户id	private String userName; //用户名	private String password;  //密码	private String trueName;  //真实名	private String email;     //邮箱	private String phone;     //电话	private String roleName;  //角色名称:普通用户、系统管理员、超级管理员	public Integer getId() {		return id;	}	public void setId(Integer id) {		this.id = id;	}	public String getUserName() {		return userName;	}	public void setUserName(String userName) {		this.userName = userName;	}	public String getPassword() {		return password;	}	public void setPassword(String password) {		this.password = password;	}	public String getTrueName() {		return trueName;	}	public void setTrueName(String trueName) {		this.trueName = trueName;	}		public String getEmail() {		return email;	}	public void setEmail(String email) {		this.email = email;	}	public String getPhone() {		return phone;	}	public void setPhone(String phone) {		this.phone = phone;	}	public String getRoleName() {		return roleName;	}	public void setRoleName(String roleName) {		this.roleName = roleName;	}	}
6、新建数据层接口UserDao

package com.cn.dao;import java.util.List;import org.apache.ibatis.annotations.Param;import com.cn.vo.UserVO;public interface UserDao {	//用户登录	public UserVO login(UserVO userVO);	//新增用户	public void insertUser(UserVO userVO);	//删除用户	public void deleteUser(Integer id);	//修改用户	public void updateUser(UserVO userVO);	//通过id查询用户	public UserVO selectUserById(Integer id);	//查询所有用户	public List
selectAllUser(); //获取总记录数 public int getUserCount(); //分页查询 public List
findUserByPage(@Param(value="startPos")Integer startPos,@Param(value="pageSize")Integer pageSize); //校验用户是否存在 public int checkUserExits(UserVO userVO);}
7、新建接口UserDao实现类UserMapper.xml

select seq_user_id.nextval from dual
insert into t_user( ID, USERNAME, PASSWORD, TRUENAME, EMAIL, PHONE, ROLENAME )values( #{id}, #{userName}, #{password}, #{trueName}, #{email}, #{phone}, #{roleName} )
delete from t_user t where t.id=#{id}
update t_user t
t.USERNAME=#{userName},
t.PASSWORD=#{password},
t.TRUENAME=#{trueName},
t.EMAIL=#{email},
t.PHONE=#{phone},
t.ROLENAME=#{roleName},
where t.id=#{id}
8、新建服务层接口IUserService

package com.cn.service;import java.util.List;import com.cn.vo.UserVO;public interface UserService {	// 用户登录	public UserVO login(UserVO userVO);	// 新增用户	public void insertUser(UserVO userVO);	// 删除用户	public void deleteUser(Integer id);	// 修改用户	public void updateUser(UserVO userVO);	// 通过id查询用户	public UserVO selectUserById(Integer id);	// 查询所有用户	public List
selectAllUser(); // 校验用户是否存在 public int checkUserExits(UserVO userVO); // 获取总记录数 public int getUserCount(); }
9、新建服务层接口UserService接口实现类UserServiceImpl

package com.cn.service.impl;import java.util.List;import java.util.Map;import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.cn.dao.UserDao;import com.cn.service.UserService;import com.cn.vo.UserVO;@Service("userService")public class UserServiceImpl implements UserService {	@Resource	private UserDao userDao;		public UserVO login(UserVO userVO) {		return userDao.login(userVO);	}		public void insertUser(UserVO userVO) {		userDao.insertUser(userVO);	}			public void deleteUser(Integer id) {		userDao.deleteUser(id);	}			public void updateUser(UserVO userVO) {		userDao.updateUser(userVO);	}			public UserVO selectUserById(Integer id) {		return userDao.selectUserById(id);	}		public List
selectAllUser() { return userDao.selectAllUser(); } public Long getTotal(Map
map) { return null; } public List
findUserByPage(Map
map) { return null; } public int checkUserExits(UserVO userVO) { int result= this.userDao.checkUserExits(userVO); if(result<1){ //不存在 return 0; }else{ return 1; } } public int getUserCount() { return this.userDao.getUserCount(); }}
10、在WEB-INF下新建视图层文件夹jsp,然后在jsp下新建文件user,然后在其下新建三个jsp文件夹

userList.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'userList.jsp' starting page    	
新增
用户名 密码 昵称 邮箱 电话 角色 操作
${us.userName} ${us.password} ${us.trueName} ${us.email} ${us.phone} ${us.roleName} 编辑 删除
addUser.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'updateUser.jsp' starting page    	
用户名:
密码:
昵称
邮箱:
电话:
角色:
updateUser.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'updateUser.jsp' starting page    	
用户名:
密码:
昵称
邮箱:
电话:
角色:
11、测试

你可能感兴趣的文章
涨知识啦:css粘性定位position:sticky
查看>>
前端开发必知:组件封装的原则
查看>>
微信小程序采坑记录:http:XXX 不在以下request合法域名列表中的解决方法
查看>>
js数组去重小结
查看>>
javascript defer与async 的差异
查看>>
flex实现等宽布局且间隔相等的小技巧
查看>>
JS冷知识:label 语句记录循环语句中断的值
查看>>
软件架构必知-康威定律
查看>>
JS基础夯实——垃圾回收机制
查看>>
js基础夯实——基本类型与引用类型
查看>>
ubuntu19 安装python虚拟环境
查看>>
我的ubuntu19.04在执行一次全面升级后,导致不能进入桌面
查看>>
我在ubuntu19.01中 使用pip3安装 pgadmin4
查看>>
我在unbutu19.01中使用阿里云的容器服务搭建fusionpbx
查看>>
我在ubuntu19.01中安装docker-composer
查看>>
我在ubuntu19.01中,使用docker-compose启动docker
查看>>
fusionpbx在換了服务器主机后,或换了ip地址后,必须改的设置
查看>>
使用python-ESL开发呼叫系统
查看>>
我在djiango的单页文件中,使用邮件发送接口与功能
查看>>
在vue页面中,使用audio标签 播放音频和视频
查看>>